The present invention relates to a networking system and a parallel networking method of a computer provided with a plurality of network interfaces. More particularly the present invention relates to a networking system required to meet various kinds of quality of service (QOS), like an ATM network.
FIG. 15 illustrates a conventional network connection of a server provided with a plurality of network interfaces. As a server provided with a plurality of network interfaces, an NFS server of Auspex Inc. and storage server of Maximum Strategy Inc. are known.
In FIG. 15, numeral 500 represents a server; 501, 502, and 503 represent network interfaces; 505 represents a routing table; 510, 520, and 530 represent networks respectively connected to network interfaces 501, 502, and 503 numerals 511 to 513, 521 to 523, and 531 to 533 represent clients (workstations or PCs) respectively connected to networks 510, 520, and 530. Numeral 540 represents a network connected to a public network 570, and 541 represents a client connected to the network 540. The network interfaces of a server each substantially comprises an interface card and related software.
The server 500 is connected with the public network 570 through a gateway 550 connected to the network 510 and a PBX (Private Branch Exchange) 560. Network addresses net1.1, net1.2, and net1.3 of the network 510 are assigned to the clients 511, 512, and 513 respectively and a network address net1.11 of the network 510 is assigned to the network interface 501. The clients 511, 512, and 513 can perform data communication with the server 500 only by using the address net1.11, that is, only through the network 510. Similarly, the clients 521, 522, and 523 perform data communication with the server 500 through the network 520 and the clients 531, 532, and 533 perform data communication with the server 500 through the network 530. The client 541 connected to the public network 570 performs data communication with the server 500 through the PBX 560, gateway 550, and network 510. The clients connected to the LAN1 to LAN3 can perform data communication only through the previously-connected networks 510, 520, and 530.
To transfer data from the server 500 to the clients 511, 512, and 513, the clients 521, 522, and 523, or the clients 531, 532, and 533; one of the network interfaces 501, 502, and 503 (networks 510, 520, and 530) is used in accordance with the designation of the routing table 505 controlled by the operating system of the server 505. To transfer data from the server 500 to the client 541, the gateway 550 connected to the network 510 is selected in accordance with the designation of the routing table 505 and the gateway 550 sends a packet sent from the server 500 to the network 540. In this case, only the network interface 501 is used.
FIG. 2 shows the structure of a conventional routing table. In FIG. 2, numerals 161 to 165 represent items of entries of the routing table. Each entry is connected to a linear list in which the headers are the entries 100 to 150 determined by the values obtained by translating the destination addresses by a hash function 180. Using the destination address as the keys, the linear list is searched, the entry such that the destination address 161 coincides with the key is found. A packet is sent from the gateway address 162 which is the network address of the first found entry. For example, in FIG. 15, the server 500 can communicate with the client 541 through the network interface 501, using the network 510. To communicate with each of the clients connected to the networks 510, 520, and 530 through the network interfaces 501, 502, and 503 of the server 500, the network addresses net1.11, net2.11, and net3.11 are directly specified instead of the gateway 162.
Details of the routing table are shown in "Internetworking with TCP/IP, Volume I, II" (Prentice Hall) written by Douglas E. Comer et al. and "The Design and Implementation of the 4.3DSD UNIX Operating system" (Addison Wesley) written by S. J. Leffler et al. Thus, the routing table has a function to clarify the next network address of the gateway or the like to which a packet is sent next, using the destination address of the packet as a key.
Moreover, it is possible to obtain pieces of information 171 to 176 about network interfaces reaching a gateway by a pointer 163 for the entry into the network interface information table in routing table entries. The information about the network interface includes the maximum transmission unit (MTU) of the network interface 172 and the number of input and output packets 173 and 174 passing through the network interface.
The above described conventional technology has disadvantages being that it is impossible to dynamically select a network interface and balance the load in accordance with the load state of the network interface in the case of data communication between a client and the server because only one network interface connected with the client can be used though a plurality of network interfaces of the server are present. Thus, various kinds of quality of service (QOS) of the client cannot be satisfied. For example, when there is a requirement to communicate multimedia data such as voices, images, or data have increased recently, it is difficult to meet the quality of service (QOS) requested by clients because a considerably large capacity is necessary and thereby, a load is concentrated on one network interface.
Moreover, the above-described conventional technology has further disadvantages being that the bandwidth of the network interface of a client cannot be fully used because only one network interface can be used to transfer data from the server to the client when the bandwidth of the client's network interface is larger than that of each network interface of the server.